
/** 统一返回结果 */
export default class ResultObjectC <T> { 
  /** 返回码 */
  code!:number;
  /** 返回消息 */
  message!:string;
  /** 主要数据 */
  data!:T;


  /**通过JSONObject创建实例对象 */
  public static getInstanceByJSONObj<T>(jsonObj:any):ResultObjectC<T>{  
    let instance=new ResultObjectC()  
    return Object.assign(instance, jsonObj) 
  }


  /** 通过属性参数创建实例对象 */
  public static getInstanceByParam<T>(code:number,message:string
                                   ,data:T){ 
    let instance=new ResultObjectC()  
    instance.code=code;
    instance.message=message;
    instance.data=data;
    return instance 
  }


  /** 类属性的申明静态变量(适用于直接用到Class.fieldName的场景) */
   static fieldNames={
       /**返回码*/
      code:"code",
      /**返回消息*/
      message:"message",
      /**主要数据*/
      data:"data" } 
}

